hvmloader: ROMBIOS must POST in big real mode, since it supports PMM,
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 31 Mar 2009 13:04:50 +0000 (14:04 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 31 Mar 2009 13:04:50 +0000 (14:04 +0100)
and hence Option ROMs can expect noi segment limit checks.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
tools/firmware/hvmloader/hvmloader.c
tools/firmware/rombios/32bitgateway.c

index 39aa949e1b60ddda0fe7d0596e19d09f51c5f3f4..7552122d4ae3baa1a18f1562442c716d2fd2daf7 100644 (file)
@@ -88,8 +88,8 @@ asm (
     "    .align 8                    \n"
     "gdt:                            \n"
     "    .quad 0x0000000000000000    \n"
-    "    .quad 0x00009a000000ffff    \n" /* Ring 0 code, base 0 limit 0xffff */
-    "    .quad 0x000092000000ffff    \n" /* Ring 0 data, base 0 limit 0xffff */
+    "    .quad 0x008f9a000000ffff    \n" /* Ring 0 16b code, base 0 limit 4G */
+    "    .quad 0x008f92000000ffff    \n" /* Ring 0 16b data, base 0 limit 4G */
     "gdt_end:                        \n"
     "                                \n"
     "    .bss                        \n"
index 8b3dffa591395a96f46b8cb59a6e5180d14f1180..d76f19400fb707f96a120768cb6482ee79368ca4 100644 (file)
@@ -56,13 +56,13 @@ gdt_entry_pm_32bit_cs:
     .byte 0x00, 0x9b, 0xcf, 0x00
 gdt_entry_pm_16bit_cs:
     .word 0xffff, 0x0000
-    .byte REAL_MODE_CODE_OFFSET >> 16, 0x9b, 0x0, 0x0
+    .byte REAL_MODE_CODE_OFFSET >> 16, 0x9b, 0x8f, 0x0
 gdt_entry_pm_32bit_ds:
     .word 0xffff, 0x0000
     .byte 0x0, 0x93, 0xcf, 0x0
 gdt_entry_pm_16bit_ds:
     .word 0xffff, 0x0000
-    .byte 0x0, 0x93, 0x0, 0x0
+    .byte 0x0, 0x93, 0x8f, 0x0
 gdt_entry_end:
 
 protmode_gdtdesc: